supernovaffxifandomcom-20200216-history
Wren's RNG Gearswap
This is what I use on my RNG. Go back to my Gearswap page. -- ************************************************************* Wren's RNG gearswap .lua for SuperNova FFXI Save as windower/addons/GearSwap/data/RNG.lua 2016-11-05 OC - First version. ************************************************************* -- -- ****************************************************** Gearsets - define the various sets of gear we'll wear. ****************************************************** -- function get_sets() sets.fashion = { main = "Vulcan's Staff", sub = "Axe Grip", range = "Yoichinoyumi", ammo = "Demon Arrow", head = empty, body = "Kyudogi +1", hands = "Htr. Bracers +1", legs = "Htr. Braccae +1", feet = "Htr. Socks +1" } -- idle set is worn when we're standing around doing -- nothing. sets.idle = { main = "Vulcan's Staff", sub = "Axe Grip", range = "Yoichinoyumi", ammo = "Demon Arrow", head = "Zha'Go's Barbut", neck = "Hope Torque", left_ear = "Brutal Earring", right_ear = "Vision Earring", body = "Kyudogi +1", hands = "Blood Fng. Gnt.", left_ring = "Behemoth Ring +1", right_ring = "Behemoth Ring +1", back = "Amemet Mantle +1", waist = "Scout's Belt", legs = "Blood Cuisses", feet = "Strider Boots" } -- ranged attacks sets.ranged = { legs = "Sct. Braccae +1", feet = "Sct. Socks +1" } -- namas arrow sets.ws = { neck = "Light Gorget", -- snow, aqua, light left_ear = "Tmph. Earring +1", right_ear = "Tmph. Earring +1", body = "Kirin's Osode", left_ring = "Rajas Ring", right_ring = "Flame Ring", legs = "Hachiryu Haidate", feet = "Sct. Socks +1" } end function precast(spell) if spell.name "Ranged" then rangedSet = sets.ranged if world.time >= (18*60) or world.time <= (6*60) then rangedSet = set_combine(rangedSet,{left_ear="L.bug Earring +1"}) end if barrage then rangedSet = set_combine(rangedSet,{hands = "Htr. Bracers +1"}) barrage = false end equip(rangedSet) elseif spell.type 'WeaponSkill' then if world.time >= (18*60) or world.time <= (6*60) then equip(sets.ws,{left_ear="L.bug Earring +1"}) else equip(sets.ws) end elseif spell.name "Scavenge" then equip({feet = "Htr. Socks +1"}) elseif spell.name "Sharpshot" then equip({legs = "Htr. Braccae +1"}) elseif spell.name "Shadowbind" then equip({hands = "Htr. Bracers +1"}) elseif spell.name "Barrage" then barrage = true end end function midcast(spell) end function aftercast(spell) equip(sets.idle) end -- self_command function for WAR is used to toggle weapon skills, -- and conditionally use abilities from our /sam subjob. function self_command(m) -- toggle weapon skills if m "W+" then if ws "Namas Arrow" then ws = "Sidewinder" else ws = "Namas Arrow" end windower.add_to_chat(8,'WS: ' .. ws .. '') -- use seigan, then third eye, then hasso elseif m "STH" and player.sub_job "SAM" then local seigan = windower.ffxi.get_ability_recasts()139 or 0 local hasso = windower.ffxi.get_ability_recasts()138 or 0 local third = windower.ffxi.get_ability_recasts()133 or 0 if third 0 then if (seigan 0) and (not buffactive.Seigan) and ((hasso 0) or (not buffactive.Hasso)) then send_command('input /ja Seigan ;wait 1.2;input /ja "Third Eye" ;wait 1.2;input /ja Hasso ') else send_command('input /ja "Third Eye" ') end end -- use seigan, then third eye. elseif m "ST" and player.sub_job "SAM" then local seigan = windower.ffxi.get_ability_recasts()139 or 0 local third = windower.ffxi.get_ability_recasts()133 or 0 if seigan 0 and third 0 then send_command('input /ja Seigan ;wait 1.2;input /ja "Third Eye" ') elseif seigan 0 then send_command('input /ja "Seigan" ') elseif third 0 then send_command('input /ja "Third Eye" ') end -- use our weapon skill of choice. if meditate recast is down, use it afterward. elseif m "WS" then if player.sub_job "SAM" then local meditate = windower.ffxi.get_ability_recasts()134 or 0 local wsString = "" if meditate 0 then wsString = 'input /ws "' .. ws .. '" ;wait 3.2;input /ja Meditate ' else wsString = 'input /ws "' .. ws .. '" ' end send_command(wsString) else send_command('input /ws "' .. ws .. '" ') end end end ws = "Namas Arrow" barrage = false -- Finally, puts on our fashion set, lockstyle it, then switch to our idle set. send_command('wait 1;gs equip fashion;wait 1;input /lockstyle on;wait 1;gs equip idle')